home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Utilities / CommentConverter 1.0.0 / Think C 7.0 Project / Test Files / TestFile.d < prev   
Encoding:
Text File  |  1994-04-27  |  5.5 KB  |  221 lines  |  [TEXT/ttxt]

  1. //FEHLER:
  2. //- WENN DER FILENAME NICHT RICHTIG IST KOMMT ZWAR DIE MESSAGE, ABER ES WIRD TROTZDEM GEMACHT
  3. //- EOF WIRD GESCHRIEBEN!
  4. //- Beide behoben, NOCHMAL AN ALLEN FILES TESTEN!!!!!
  5. //****************************************************************************
  6. //****************************************************************************
  7. //****************************************************************************
  8. //* Modul-Name            : sorry, that´s impossible.C                            *
  9. //* Autor                : A. Amoroso                                          *
  10. //* Funktion            : New 2 Old Style Comments                             *
  11. //* Datum                : 6.12.1993                                              *
  12. //****************************************************************************
  13. //****************************************************************************
  14. //****************************************************************************
  15.  
  16. #include <ctype.h>
  17. #include <fcntl.h>
  18. #include <float.h>
  19. #include <limits.h>
  20. #include <math.h>
  21. #include <size_t.h>
  22. #include <stat.h>
  23. #include <stdarg.h>
  24. #include <time.h>
  25.  
  26. #include <string.h>
  27. #include <stdlib.h>
  28. #include <stdio.h>
  29. #include <GestaltEqu.h>
  30. #include <Files.h>
  31. #include <TextEdit.h>
  32. #include <Dialogs.h>
  33. #include <types.h>
  34. #include <pascal.h>
  35. #include <Events.h>
  36. #include <EPPC.h>
  37. #include <AppleEvents.h>
  38. #include <OSEvents.h>
  39.  
  40.  
  41. #include "Apple.h"
  42. #include "Help.h"
  43.  
  44. #include "//<->//
  45. .h"
  46.  
  47. #ifdef testme
  48. #include <console.h>
  49. #endif
  50.  
  51. //****************************************************************************
  52. // Hauptprogramm                                  
  53. //****************************************************************************
  54.  
  55. int main(int argc, char *argv[])
  56.  
  57. {
  58.     char     NName[MaxFullPathName+1],
  59.             OName[MaxFullPathName+1],
  60.             *occur = NULL,
  61.             stop = 0,            
  62.             c1 = 0,
  63.             c2 = 0,
  64.             c = 0,
  65.             q1 = 0,
  66.             q2 = 0;
  67.     int     i = 0,
  68.             len = 0;
  69.     unsigned long
  70.             typ = 0,
  71.             cre = 0;
  72.     FILE    *Optr = NULL,
  73.             *Nptr = NULL;
  74.     
  75.  
  76. #ifdef apple
  77. #ifndef testme
  78.     argv = GetProgParams(&argc);
  79.     occur = strrchr(*argv, ':');
  80. //    Nptr = fopen("Modifiers.txt","w");
  81. //    fputs(occur,Nptr);
  82. //    fclose(Nptr);
  83. #endif
  84. #endif // apple 
  85. #ifdef testme
  86.     argc = ccommand(&argv);
  87. #endif
  88.     
  89.     for(i=1; i < argc; i++){
  90.         NName[0] = OName[0] = stop = c1 = c2 = c = q1 = q2 = 0;
  91.         len = 0;
  92.         Optr = NULL;
  93.         Nptr = NULL;
  94.         strcpy((char *)NName, (const char *)*(argv+i));
  95.         strcpy((char *)OName, (const char *)*(argv+i));
  96.         len = (int)strlen((const char *)NName);
  97.         if ((c2 = *(OName + len - 2)) != '.')
  98.             HandleError(NoCFile); 
  99.         if ((c1 = *(OName + len - 1)) == 'c')
  100.             *(NName + len - 1) = 'd';
  101.             else if (c1 == 'C')
  102.                 *(NName + len - 1) = 'D';
  103.                 else if (c1 == 'h')
  104.                     *(NName + len - 1) = 'i';
  105.                     else if (c1 == 'H')
  106.                         *(NName + len - 1) = 'I';
  107.         if ((c1 != 'c') && (c1 != 'C') && (c1 != 'h') && (c1 != 'H'))
  108.             HandleError(NoCFile); 
  109.         Optr = fopen(OName, "r");
  110.         if (Optr == NULL)
  111.             HandleError(FileIO);
  112.         Nptr = fopen(NName, "w");
  113.         if (Nptr == NULL)
  114.             HandleError(FileIO);
  115. // Folgende while Schleifen sind kommentar erkennender automat, 4 zustaende, 4 Eingaben 
  116.         if (EOF != (c = fgetc(Optr)))
  117.             do{
  118.                 switch(q1){
  119.                     case 0: switch (q2){
  120.                                 case 0:    switch (c){
  121.                                             case SL:    q1 = 1;
  122.                                                         q2 = 0;
  123.                                                         break;
  124.                                             case EOF:    stop = 1;
  125.                                             case CR:    //break, the same...;
  126.                                             default:    q1 = 0;
  127.                                                         q2 = 0;
  128.                                                         if (c != EOF)
  129.                                                             if (EOF == fputc(c,Nptr))
  130.                                                                 HandleError(FileIO);
  131.                                                         break;
  132.                                         }
  133.                                         break;
  134.                                 case 1:    switch (c){
  135.                                             case EOF:    stop = 1;
  136.                                             case CR:    q1 = 0;
  137.                                                         q2 = 0;
  138.                                                         if (EOF == fputs("*/\n",Nptr))
  139.                                                             HandleError(FileIO);
  140.                                                         break;
  141.                                             case SL:    //break, the same...;
  142.                                             default:    q1 = 0;
  143.                                                         q2 = 1;
  144.                                                         if (c != EOF)
  145.                                                             if (EOF == fputc(c,Nptr))
  146.                                                                 HandleError(FileIO);
  147.                                                         break;
  148.                                         }
  149.                                         break;
  150.                             }
  151.                             break;
  152.                     case 1: switch (q2){
  153.                                 case 0:    switch (c){
  154.                                             case SL:    q1 = 0;
  155.                                                         q2 = 1;
  156.                                                         if (EOF == fputs("//",Nptr))
  157. //                                                            HandleError(FileIO);
  158. //                                                        break;
  159. //                                            case EOF:    stop = 1;
  160. //                                            case CR:    /*break, the same...;
  161.                                             default:    q1 = 0;
  162.                                                         q2 = 0;
  163.                                                         if (EOF == fputs("/",Nptr))
  164.                                                             HandleError(FileIO);
  165.                                                         if (c != EOF)
  166.                                                             if (EOF == fputc(c,Nptr))
  167.                                                                 HandleError(FileIO);
  168.                                                         break;
  169.                                         }    
  170.                                         break;
  171.                                 case 1:    switch (c){
  172.                                             case SL:    //break, the same...;
  173.                                             case EOF:    stop = 1;
  174.                                             case CR:    //break, the same...;
  175.                                             default:    q1 = 0;
  176.                                                         q2 = 0;
  177.                                                         HandleError(IllState);
  178.                                                         break;
  179.                                         }
  180.                                         break;
  181.                             }
  182.                             break;
  183.                 }
  184.                 c = fgetc(Optr);
  185.             }while (!stop);
  186.     if (EOF == fclose(Optr))
  187.         HandleError(FileIO);
  188.     if (EOF == fclose(Nptr))
  189.         HandleError(FileIO);
  190.         GetFileInfo(OName,&typ,&cre);
  191.         SetFileInfo(NName,typ,cre);
  192.         GetFileInfo(OName,&typ,&cre); // Soll den Finder veranlassen das neue Icon zu zeigen...
  193. //        SetFileInfo(NName,'TEXT','KAHL');
  194.     }
  195.     GenExit(0);
  196. }
  197.  
  198. void HandleError(int error)
  199. {
  200.     short itemHit = 0;
  201.     
  202.     switch(error){
  203.         case    1:    do
  204.                     {
  205.                         itemHit = StopAlert(rNoCFile,nil);
  206.                     }while(itemHit != dOKButton);
  207.                       break;
  208.           case    2:    do
  209.                     {
  210.                         itemHit = StopAlert(rFileIO,nil);
  211.                     }while(itemHit != dOKButton);
  212.                       break;
  213.           case    3:    do
  214.                     {
  215.                         itemHit = StopAlert(rIllState,nil);
  216.                     }while(itemHit != dOKButton);
  217.                       break;
  218.           default:    GenExit(0);
  219.     }
  220.     GenExit(0);
  221. }